﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ProyectoGrupo5.Persistencia;
using ProyectoGrupo5.ClasesDominio;

namespace ProyectoGrupo5.Negocio
{
    public class PostulanteService
    {
        // Dependencias
        IPostulanteDAO PostulanteDAO { get; set; }

        // Servicios básicos
        public Postulante CrearPostulante(Postulante postulante)
        {
            if ((postulante.CodigoPostulante == 0) ||
               String.Empty.Equals(postulante.CodigoPostulante))
                throw new Exception("Código de postulante no es válido");

            if (postulante.Correo == null ||
               String.Empty.Equals(postulante.Correo))
                throw new Exception("Cuenta de correo no es válido");

            return PostulanteDAO.CrearPostulante(postulante);
        }

        public Postulante ObtenerPostulante(Int32 codigo)
        {
            return PostulanteDAO.ObtenerPostulante(codigo);
        }

        public Postulante ModificarPostulante(Postulante postulante)
        {
            return PostulanteDAO.ModificarPostulante(postulante);

        }
        public void EliminarPostulante(Int32 codigo)
        {
            PostulanteDAO.EliminarPostulante(codigo);
        }
        
        // Servicios avanzados
        public ICollection<Postulante> ListarTodosLosPostulantes()
        {
            return PostulanteDAO.ListarPostulantesTodos();
        }
    }
}